// src/api/inform.ts
import request from '@/utils/request';
import type { IMessagePageResult, IMessagePageQuery } from '@/types/inform';

/**
 * 分页获取消息列表
 * @param params - 分页参数
 */
export const getMessagePage = (params: IMessagePageQuery) => {
  return request<IMessagePageResult>({
    url: '/messages/page',
    method: 'get',
    params,
  });
};

/**
 * 获取未读消息数量
 * @returns Promise<number> - 未读消息的数量
 */
export const getUnreadMessageCount = () => {
  return request<number>({
    url: '/messages/countUnread',
    method: 'get'
  });
};

/**
 * 将所有消息标记为已读
 * (假设后端支持不传id则全部已读)
 */
export const markAllMessagesAsRead = () => {
  return request({
    url: '/messages/batch',
    method: 'put',
  });
};

/**
 * 将单个消息标记为已读
 * @param id - 消息ID
 */
export const markMessageAsRead = (id: number) => {
  return request({
    url: `/messages/${id}`,
    method: 'put' // 注意：HTTP 方法通常大写
  });
};
